SAGEO, 2023 - Québec, Canada
07 Jun 2023
Logiciels payants, ruptures logicielles dans les chaines de traitements, stockage et partage des données et méthodes non optimisé, univers “clic-bouton”.
Solutions open source, gratuites, qui couvrent l’ensemble de la chaîne de traitement de l’information, univers de programmation.
Usage de langages de développement variés en fonction des usages désirés (performence de certaines libs, interactivité, …) et des échanges interdisciplinaires (dataviz).
Comment passer d’un langage à l’autre dans des mêmes chaînes de traitement ?
Ouverture des protocoles de recherche dans l’objectif de confirmer et rendre répétable des résultats de recherche.
Jon Claerbout (sismologue, Univ. Stanford). Il utilise avec son groupe pour la première fois le terme de “recherche reproductible” lors du congrès de la Society of Exploration Geophysics en 1992.
Paradigme de programmation (Knuth, 1984) qui consiste à associer code source (pour les ordinateurs) et documentation (pour les humains).
Un gain général en reproductibilité de la démarche et en ouverture des méthodes scientifiques.
Donald Knuth (mathématicien, Univ. Stanford). Pose les bases de la programmation lettrée dans un premier environnement de literate programming : le WEB qui combine du Pascal et du TeX, appliqué aux nombres premiers (1984).
Le Notebook est une solution opérationnelle et adaptée pour arriver à ces fins
Restituer des analyses reproductibles menées lors d’un projet.
Générer des présentations interactives (iframe, animations, slides interactifs) avec le format revealjs.
Exemple : Sortie (Présentation) // Dépôt GitHub // Code
Créer des raports interactifs combinant (éventuellement) plusieurs langages de programmation.
Sortie (Rapport interactif) // Dépôt GitHub // Code (Quarto)
Créer des manuels ou des sections pédagogiques collaboratifs au format Book.
Soumettre des publications suivant les prérequis (adaptation template LaTeX) de plusieurs revues de référence (Public Library of Science, Elsevier, JSS, etc.)
RStudio propose plusieurs modèles pour initier aisément un notebook.
RStudio propose plusieurs modèles pour initier aisément un notebook.
Le YAML permet de définir :
Le format de sortie désiré : HTML, PDF (installation d’une distribution TeX requise), .docx.
Le type de document souhaité (Document, Présentation, Site Web, etc.)
Il est hautement paramétrable :
Les possibilités offertes sont présentées dans la documentation Quarto
Le YAML utilisé pour cette présentation
---
title: "Créer un notebook avec Quarto: principes, fonctionnalités"
subtitle: "SAGEO, 2023 - Québec, Canada"
author: "Nicolas Lambert, Timothée Giraud, Matthieu Viry, Ronan Ysebaert"
date: 06/7/2023
date-format: "DD MMM YYYY"
title-slide-attributes:
data-background-color: black
data-background-image: fig/SAGEO.png
data-background-size: cover
data-background-opacity: "0.5"
format:
revealjs:
margin: 0
embed-resources: true
smaller: true
scrollable: true
theme: [simple, custom.scss]
code-line-numbers: false
editor: visual
execute:
echo: true
---Langage de balisage léger
h1, h2, h3 bold, italic import figure
Callout blocks
possibilité d’intégrer du code Python, R, Julia, Observable JS au sein du même document.
echo, eval, warning, message, cache, fig.height
possibilité de le spécifier dans le YAML (execute:)…
ou directement dans les chunks
Supports utiles
Enjeux de la reproductibilité
[To do] : Initier un document Quarto